Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.03.2017, 15:14
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

Передача переменных AJAX-сом
Привет, есть таблица. Как передать все протоколы?
Вариант с
data: {protokol_1: $('.protokol_1').text(), protokol_2: ('.protokol_2').text(), и т.д.}
не подходит, потому что протоколов может быть много.
<script src="//ajax.googleapis.com/ajax/libs/jquery/3.1.0/jquery.min.js"></script>
<table border="1">
   <tr>
      <td class="protokol_1">1</td>
      <td class="protokol_2">2</td>
   </tr>
   <tr>
      <td class="protokol_3">3</td>
      <td class="protokol_4">4</td>
   </tr>
</table>
<button class="save">SAVE</button>
<script>
$('.save').on('click', function(){
        $.ajax({
	    type: 'POST',
	    url: 'data.php',					
	    data: {protokol: $('.protokol').text()}
	});
});
</script>
Ответить с цитированием
  #2 (permalink)  
Старый 26.03.2017, 15:43
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

А передать массивом разве не проще, ведь все берется по порядку?
Ответить с цитированием
  #3 (permalink)  
Старый 26.03.2017, 15:59
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,149

Сообщение от Sav2907
Как передать все протоколы?
собрать обьект циклом по нужным элементам.
Ответить с цитированием
  #4 (permalink)  
Старый 26.03.2017, 16:25
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

покажите как
Ответить с цитированием
  #5 (permalink)  
Старый 26.03.2017, 16:36
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script> 
$(function() {
    $('.save').on('click', function(){
        var d = $.map($('td.protokol'), function(e) {
            return 'protokol[]=' + $(e).text()
        }).join('&');
        alert(d) //это, переменную d, и отправлять
    });
});
</script> 
</head>
<body>
<table>
   <tr>
      <td class="protokol">1</td>
      <td class="protokol">2</td>
   </tr>
   <tr>
      <td class="protokol">3</td>
      <td class="protokol">4</td>
   </tr>
</table>
<button class="save">SAVE</button>
</body>
</html>


И только в случае, если некоторые позиции могут быть пустыми, и нужна будет привязка, тогда можно и ключи использовать.

Последний раз редактировалось laimas, 26.03.2017 в 16:41.
Ответить с цитированием
  #6 (permalink)  
Старый 26.03.2017, 16:50
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

Да, позиции могут быть пустыми. Интересует еще вариант от Рони
Ответить с цитированием
  #7 (permalink)  
Старый 26.03.2017, 16:57
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Sav2907
Да, позиции могут быть пустыми.
Ну так привяжите их к ключам, но только не через стили, а например задав ячейкам id, а в цикле

return 'protokol['+e.id+']=' + e.innerHTML
Ответить с цитированием
  #8 (permalink)  
Старый 26.03.2017, 16:58
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от Sav2907
Интересует еще вариант от Рони
$.map - это тоже цикл.
Ответить с цитированием
  #9 (permalink)  
Старый 26.03.2017, 17:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,149

Sav2907,
laimas, показал вам полноценный вариант.
Ответить с цитированием
  #10 (permalink)  
Старый 26.03.2017, 18:01
Профессор
Отправить личное сообщение для Sav2907 Посмотреть профиль Найти все сообщения от Sav2907
 
Регистрация: 15.09.2015
Сообщений: 180

Сообщение от laimas Посмотреть сообщение
$.map - это тоже цикл.
А через классы никак?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача параметров в url средствами jquery ajax sys Общие вопросы Javascript 19 10.10.2016 19:03
Передача переменных из eventListener`a другой функции Ch@r2411 Events/DOM/Window 3 20.07.2016 18:48
Передача через AJAX большого объема данных yambbkru AJAX и COMET 3 20.06.2015 15:18
AJAX, Только передача данных. NewJSUser AJAX и COMET 14 12.01.2015 17:38
Передача HTML кода на сервер через Ajax KomaLex AJAX и COMET 2 06.12.2012 15:28